Many modern day electronic devices contain electronic memory configured to store data. Electronic memory may be volatile memory or non-volatile memory. Volatile memory stores data when it is powered, while non-volatile memory is able to store data when power is removed. Resistive random access memory (RRAM) is one promising candidate for a next generation non-volatile memory technology. RRAM has a simple structure, consumes a small cell area, has a low switching voltage and fast switching times, and is compatible with CMOS fabrication processes.